package com.basic.modules.ykf.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.basic.common.utils.PageUtils;
import com.basic.modules.ykf.entity.YkfCustomerSubAccountEntity;
import com.basic.common.utils.ParamsModel;
import com.basic.modules.ykf.model.ExcelReq;
import com.basic.modules.ykf.model.SubAccountModel;
import com.basic.modules.ykf.model.SumSubAccountModel;

import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * 店铺子账号
 *
 * @author maoheng
 * @email 15738859597@163.com
 * @date 2024-05-15 15:36:23
 */
public interface YkfCustomerSubAccountService extends IService<YkfCustomerSubAccountEntity> {

    PageUtils queryPage(ParamsModel<YkfCustomerSubAccountEntity> params);

    PageUtils queryPage2(ParamsModel<YkfCustomerSubAccountEntity> params);

    PageUtils distributeCusSerPage(ParamsModel<YkfCustomerSubAccountEntity> params);

    void saveSubAccount(SubAccountModel subAccountModel);

    PageUtils stopPage(ParamsModel<YkfCustomerSubAccountEntity> params);

    PageUtils onLinePage(ParamsModel<YkfCustomerSubAccountEntity> params);

    PageUtils selectPage(ParamsModel<YkfCustomerSubAccountEntity> params);

    PageUtils personalShopPage(ParamsModel<YkfCustomerSubAccountEntity> params);

    List<YkfCustomerSubAccountEntity> personalShopList();

    void confirmSubAccount(YkfCustomerSubAccountEntity subAccount);

    void subAccountManagement(ExcelReq req, HttpServletResponse response) throws IOException;

    void subAccountStop(ExcelReq req, HttpServletResponse response) throws IOException;

    void customerReception(ExcelReq req, HttpServletResponse response) throws IOException;

    PageUtils queryPage3(ParamsModel<YkfCustomerSubAccountEntity> params);

    PageUtils queryPage4(ParamsModel<YkfCustomerSubAccountEntity> params);

    PageUtils sumSubAccount(ParamsModel<SumSubAccountModel> params);

    void storeAllocation(ExcelReq req, HttpServletResponse response) throws IOException;
}

